Subject: Flow Control Contributions (finally)

From: "Shannon Nix" <[email-masked]>
Date: Mon, 15 Aug 94 10:29:48

Hi Alan,
          
          Here are edits to your latest text:
          
          Section 5.2   (Answer to editors question)  Make the order as 
          follows:
          
             bit   7   6   5   4   3   2   1   0
                 +---+---+---+---+---+---+---+---+
                 |FCI FCA| reserved  |    FCO    |
                 +---+---+---+---+---+---+---+---+
          
             FCI : Flow Control Indicator
             FCA : Flow Control Ack
             FCO : Flow Control Operator Bits
          
                   000 - Repeat Window Operator
                   001 - Increment Window Operator
                   010 - Decrement Window Operator
                   011 - Reset Window Operator
                   100 - Halve Window Operator
                   101 - Reserved
                   110 - Reserved
                   111 - Reserved

          *****************
          
          Add Section:
          
          5.3.5  Halve Window Operator
          
          This operator shall be processed as follows:
          
             IF CurrentWindow > 1 THEN 
                CurrentWindow = CurrentWindow / 2        
             ENDIF
             GrantedUnits += CurrentWindow 

          ***********************
          
          Append to section 5.6 Session Startup
          
          NOTE: The InitialWindow Size variable has a scope of one per DLSw
                transport connection, while CurrentWindow and Granted units  
                are maintained on a per circuit basis.
          
          At session startup, a sender may not send data units until the 
          receiver grants explicit permission with an FCIND message.  This 
          grant may be an independent FCIND message or the FCIND may be 
          piggy-backed on any of the following message types (to reduce the 
          startup flows):
          
            CANUREACH_cs
            ICANREACH_cs
            REACH_ACK
            XIDFRAMEs
            DGRAMFRAMEs
            CONTACT
            CONTACTED
          
          ****************
          
          Finally, there was a note in the minutes that I was to supply some 
          rationale text why we flow-control DATAGRAMS.  I'm not sure where
          this goes but here is something:
          
          5.?  Flow Control Philosophy
          
          While it is beyond the scope of this document to specify a policy 
          for how an implementation maps SSP flow control to the native data 
          link flow control at the edges, it might be useful to spend a few
          paragraphs describing a general philisophical overview of how the 
          mechanism was intended to be applied.
          
          There are two types of flows which are covered by the flow control 
          mechanism:  connection-oriented and connectionless.  In the first, 
          connection-oriented flows, the implementor is intended to map the 
          native flow control mechanism of the two data links at the 
          boundaries to the SSP flow control mechanism thus presenting an 
          end-to-end flow control mechanism which "pushes back" all the way 
          to the originating station in either direction.
          
          However, in the case of connectionless traffic, this is not 
          possible at the data link level because there is no native flow 
          control mechanism for connectionless data links.  At first glance 
          it is tempting to allow connectionless traffic to flow the the 
          DLSw cloud unthrottled.  However, the rationale for subjecting 
          these flows to flow control within the DLSw cloud is to "push" the 
          discarding of frames (should this become necessary) back to the 
          ingress of the DLSw cloud.  This "early discarding" of excessive 
          DATAGRAMs should allow the cloud to remain deterministic without 
          wasting network bandwidth.
          
          *******************8
          
          Regards, Shannon